package top.sdwu_top.kbase.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import top.sdwu_top.kbase.entity.KbaseAuthOrg;
import com.baomidou.mybatisplus.extension.service.IService;
import top.sdwu_top.kbase.entity.KbaseAuthRole;
import top.sdwu_top.kbase.entity.KbaseAuthUser;
import top.sdwu_top.kbase.vo.KbaseAuthOrgVo;
import top.sdwu_top.kbase.vo.KbaseAuthRoleVo;

import java.util.List;

/**
 * <p>
 * 组织表 服务类
 * </p>
 *
 * @author zhipeng.duan@nvr-china.com
 * @since 2020-02-20
 */
public interface IKbaseAuthOrgService extends IService<KbaseAuthOrg> {

    boolean save(KbaseAuthUser user, KbaseAuthOrg authOrg);

    boolean update(KbaseAuthUser user, KbaseAuthOrg authOrg);

    boolean delete(KbaseAuthUser user, String id);

    KbaseAuthOrg getChain(KbaseAuthUser user, String id);

    Page<KbaseAuthOrg> page(KbaseAuthUser user, KbaseAuthOrgVo authOrgVo);

    List<KbaseAuthOrg> getTreeList(KbaseAuthUser user);

    List<String> getSubOrgIdList(KbaseAuthUser user);

    boolean userCanOperate(KbaseAuthUser user, String orgId);

}
